<?php
/**
  * 控制模板中菜单的显示
  * @param rule string|array  需要验证的规则列表,支持逗号分隔的权限规则或索引数组
  * @param uid  int           认证用户的id
  * @param string mode        执行check的模式
  * @param relation string    如果为 'or' 表示满足任一条规则即通过验证;如果为 'and'则表示需满足所有规则才能通过验证
  * @return boolean           通过验证返回true;失败返回false
 */
function authCheck($cid){
    if($_SESSION['adm_username']==C('ADM_USERID')){    //以用户名来判断是否是超级管理员，绕过验证，不用用户组来判断的原因是用户组有时候是中文    ，而且常删除或更改。
        return true;
    }	
	$rulestr=M("auth_rule")->where(array('id'=>$cid))->getfield('name');
	if(!$rulestr) return false;
	
    $auth=new \Think\Auth();
    $tmp_rules = $auth->getGroups($_SESSION[C('adm_userid')]);
	$rules = explode(",",$tmp_rules[0]['rules']);

	foreach($rules as $k){
		  $rule = M("auth_rule")->where(array('id'=>$k))->find();
		  if($rule['id'] == $cid){            
           return ture;
		  }
	}
    return false;
}
?>